package org.mech.sefer.client.mvp;

import org.mech.sefer.event.bus.EventBus;

/**
 * <p>
 * The Presenter is simple presenter interface.
 * </p>
 * <p>
 * Date: 24.4.2012 12:31:23
 * </p>
 *
 * @param <V> the value type
 * @author martin.krajc
 */
public interface Presenter<V extends View> {
	
	/**
	 * Gets the view bound with presenter.
	 *
	 * @return the view
	 */
	V getView();

	/**
	 * Gets the event bus.
	 *
	 * @return the event bus
	 */
	EventBus getEventBus();

	/**
	 * Bind presenter
	 */
	public void bind();

	/**
	 * Unbind presenter
	 */
	public void unbind();
}
